use std::io;

pub enum Error{
    SmtpError(SmtpError),
    HttpError(HttpError),
    InternalError,
    ConnectionError(io::Error)
}
pub enum SmtpError{
    AuthError,
    InvalidAddress,
    InvalidInput,
    EHLO,
    MailFrom,
    RcptTo(String),
    Data,
}

pub enum HttpError{
    UnrecognizedRequest,
    MethodNotSupported,
    RequestFormatError,
}

impl From<io::Error> for Error {
    fn from(err: io::Error) -> Error {
        Error::ConnectionError(err)
    }
}